(*Circular Helix*)

Manipulate[Show[ParametricPlot3D[{Cos[t],Sin[t],t},{t,-3*Pi,tmax},AxesOrigin->{0,0,0},BoxRatios->{2,2,1},PlotRange->Full],ContourPlot3D[x^2+y^2==1,{x,-1.5,1.5},{y,-1.5,1.5},{z,-3*Pi,tmax},BoundaryStyle->None,ContourStyle->{Green,Opacity[opC]},Mesh->None]],{{tmax,-3*Pi},-3*Pi,3*Pi},{{opC,0,Text[Style["Surface Opacity",RGBColor[0,0.5,0]]]},0,1},ControlPlacement->Left]

(*Elliptical Helix*)

Manipulate[Show[ParametricPlot3D[{t,Sin[t],2*Cos[t]},{t,-3*Pi,tmax},AxesOrigin->{0,0,0},BoxRatios->{2,2,1}],ContourPlot3D[y^2+(z/2)^2==1,{x,-3*Pi,tmax},{y,-1.5,1.5},{z,-2.5,2.5},BoundaryStyle->None,ContourStyle->{Green,Opacity[opC]},Mesh->None]],{{tmax,-3*Pi},-3*Pi,3*Pi},{{opC,0,Text[Style["Surface Opacity",RGBColor[0,0.5,0]]]},0,1},ControlPlacement->Left]

(*Conic Helix*)

Manipulate[Show[ParametricPlot3D[{t*Cos[t],t*Sin[t],t},{t,-50,tmax},AxesOrigin->{0,0,0},BoxRatios->Automatic,PlotRange->Full],ContourPlot3D[x^2+y^2==z^2,{x,-50,50},{y,-50,50},{z,-50,tmax},BoundaryStyle->None,ContourStyle->{Green,Opacity[opC]},Mesh->None]],{{tmax,-50},-50,50},{{opC,0,Text[Style["Surface Opacity",RGBColor[0,0.5,0]]]},0,1},ControlPlacement->Left]

(*Torus Helix*)

Manipulate[
Show[
ParametricPlot3D[{(4+Sin[20*t])*Cos[t],(4+Sin[20*t])*Sin[t],Cos[20*t]},{t,0,tmax},AxesOrigin->{0,0,0},ImageSize->600,Mesh->None],
ParametricPlot3D[{(4+Sin[u])*Cos[v],(4+Sin[u])*Sin[v],Cos[u]}, {u, 0, 2*Pi},{v, 0, 2*Pi}, PlotStyle->{Opacity[opT],Red},Mesh->None]
],{{tmax,0},0,2*Pi},{{opT,0,Text[Style["Surface Opacity", RGBColor[0.5,0,0]]]},0,1},ControlPlacement->Left]